

package infbmobile.comunicaciones;

import infbmobile.errores.MovilException;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.List;
import java.util.*;
import javax.microedition.rms.RecordStore;


public class TratamientoMovil implements Runnable {

private int longitudLista;
private Vector listaFechasTramitacion=new Vector();
private Vector listaFechasFinalizacion=new Vector();
private Vector listaTratamiento=new Vector();
    private String dni;
    private String tarjetaSanitaria;
    private String password;

    public Vector getListaFechasFinalizacion() {
        return listaFechasFinalizacion;
    }

    public Vector getListaFechasTramitacion() {
        return listaFechasTramitacion;
    }

    public Vector getListaTratamiento() {
        return listaTratamiento;
    }

    public int getLongitudLista() {
        return longitudLista;
    }




 


    public void run() {
System.out.println("hebra lanzada");
        HttpConnection conexion = null;
        InputStream entrada = null;
        OutputStream salida= null;
        String fechaTramitacion,tratamiento,fechaFinalizacion;



                try {
        String miUrl = "http://localhost:11296/GestionHospitalaria/TratamientoServlet";
            try {
                conexion = (HttpConnection) Connector.open(miUrl);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        conexion.setRequestProperty("Content-Language", "es-ES");
        conexion.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
        conexion.setRequestProperty("Connection", "close");
        conexion.setRequestMethod(HttpConnection.GET);
        salida = conexion.openOutputStream();
        DataOutputStream out = new DataOutputStream(salida);
        try{
        RecordStore rms=RecordStore.openRecordStore("identificacion",true);
            // Creacion de las variables necesarias
            byte[] byteInputData=new byte[50];
            ByteArrayInputStream inputStream;
            DataInputStream inputDataStream;
            inputStream=new ByteArrayInputStream(byteInputData);
            inputDataStream=new DataInputStream(inputStream);
            // Comprobamos si el recordstore tenia ya almacenados algunos parametros
            // para poder cargar
            boolean resultado;
            if(rms.getNumRecords()>0){
                rms.getRecord(1,byteInputData,0);
                 dni=inputDataStream.readUTF();
                tarjetaSanitaria=inputDataStream.readUTF();
                 password=inputDataStream.readUTF();
                }
        }catch(Exception e){

            throw new MovilException("Error: Se produjo un error en el metodo de carga (Identificacion.cargar) de los parametros de identificacion del paciente => "+e.getMessage());
        }
        System.out.println("Tarjeta Sanitaria"+tarjetaSanitaria);
        out.writeUTF(tarjetaSanitaria);

        entrada = conexion.openInputStream();
        if (conexion.getResponseCode() == HttpConnection.HTTP_OK) {
            DataInputStream in = new DataInputStream(entrada);
            longitudLista=in.read();

            for (int i=0;i<longitudLista;i++){

            fechaTramitacion = in.readUTF();
            tratamiento=in.readUTF();
            fechaFinalizacion=in.readUTF();
            listaFechasTramitacion.addElement(fechaTramitacion);
            listaTratamiento.addElement(tratamiento);
            listaFechasFinalizacion.addElement(fechaFinalizacion);


            }
            for (int i=0;i<longitudLista;i++){
            System.out.println("Fecha Tramitacion :"+listaFechasTramitacion.elementAt(i));
            System.out.println("Tratamiento :"+listaTratamiento.elementAt(i));
            System.out.println("Fecha Finalizacion :"+listaFechasFinalizacion.elementAt(i));
            }
            in.close();
        } else {
            /*    alert = new Alert("Error Conectando", error.toString(),
            null, AlertType.WARNING);
            alert.setTimeout(Alert.FOREVER);
            pantalla.setCurrent(alert);*/
        }
            entrada.close();
            conexion.close();

        } catch (IOException ex) {
        }




    }

}

